Currently it is a difficult and costly process to develop, re-use, share and modify interactive web applications that take advantage of local and remote services and functions in context of general purpose web sites. Typically a web site development process requires that the web site builder develop the application (that will be employed by the pages served by the web site) using some programming language, such as PHP which is a common language amongst web site and internet application programmers, that typically implement the presentation logic, application logic and data access logic in a monolithic program. Although rapid prototyping and deployment of application may be possible for some programmers, it would be time consuming for non-programmers to develop interactive web applications and components. This is a major limiting factor in supporting mass development, customization, revision, and re-use of web application and components and also a major limiting factor in the design, building and re-use of web sites that host pages that have embedded in them various web components that invoke web accessible applications and services on a web site.
Non-programmers who want to build web sites that hosts various kinds of applications (for example, a blogging web site, or a photo sharing web site, or an event planning web site) require a different approach of developing web applications and web sites where they can define applications using an approach of what (it does) and not how (it does) style. This approach will further help web site builders to develop and deploy applications by decoupling the computational aspects from the user interface (UI) aspects of defining applications.
Thus, it is desirable to provide a system and method for defining application functionality for general purpose web presences, such as web sites and web services, and their related run-time computational processes including integration of remote and local services and other functions, in the context of an abstract web site model which enables a web presence of any kind of application which is referenced by one or more pages served by the web site for a particular purpose. It is also desirable to provide a language that can be used to express the computational and application logic aspects of a web accessible applications and services that will allow developers to describe applications in a declarative and non-procedural way as possible and it is to this end that the present invention is directed.